Use that when you want to hold arbitrary defined type (which usually must be converted) By using sumtype, your data will be converted only once and after that, it will be runtime type strict.
See Source File